﻿namespace Mercury.ParticleEngine
{
    using System;

    /// <summary>
    /// Defines contextual information for a single update tick.
    /// </summary>
    internal struct UpdateContext
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="UpdateContext"/> struct.
        /// </summary>
        /// <param name="totalSeconds">The total number of seconds elapsed since the beginning
        /// of the simulation.</param>
        /// <param name="deltaSeconds">The total number of seconds elapsed since the last update
        /// tick.</param>
        public UpdateContext(Single totalSeconds, Single deltaSeconds)
        {
            TotalSeconds = totalSeconds;
            DeltaSeconds = deltaSeconds;
        }

        /// <summary>
        /// Gets the total number of seconds elapsed since the beginning of the simulation.
        /// </summary>
        public readonly Single TotalSeconds;
        
        /// <summary>
        /// Gets the total number of seconds elapsed since the last update tick.
        /// </summary>
        public readonly Single DeltaSeconds;
    }
}